/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package CapaLogica;

import CapaAccesoBD.Conector;
import java.util.ArrayList;
import java.util.Date;

/**
 *
 * @author Elayner
 */
public class MultiPrestamo {
    
        /**
    * Inserta un registro de la galeria en la base de datos
    *
    * @param  pnombre  nombre de la galeria
    * @param  pdireccion direccion de la galeria
    * @param  ptelefono telefono de la galeria
    * @param  pfec_ina fecha de inaguracion
    * @param  pnom_encar nombre del encargado
    * @param  pdimension dimensiones
    * @return   el objeto Galeria
    */
	public  Prestamo crear(int diasPrestamo, Date fechaPrestamo, String codEjemplar, String codUsuario) 
		throws Exception{
            
		Prestamo objPrestamo=null;
		String sql;
		sql = "INSERT INTO TPrestamo "+
		"VALUES ("+diasPrestamo+", '"+fechaPrestamo+"', '"+codEjemplar+"', '"+codUsuario+"');";
		try {
			Conector.getConector().ejecutarSQL(sql);
			objPrestamo = new Prestamo(diasPrestamo,fechaPrestamo,codEjemplar,codUsuario);
		}
		catch (Exception e) {
			throw new Exception (e.getMessage());
		}
		return objPrestamo;
	}
	
            
    /**
    * Borra el registro de una galeria
    *
    * @param  pgaleria  objeto galeria
    */	
	public boolean borrar(Prestamo objPrestamo) throws 
			java.sql.SQLException,Exception{
                boolean result=false;        
		String sql;
		sql = "DELETE FROM TPrestamo "+
		"WHERE codEjemplar='"+objPrestamo.getCodEjemplar()+"';";
		try {
			Conector.getConector().ejecutarSQL(sql);
                        result=true;
		}
		catch (Exception e) {
			throw new Exception (e.getMessage());
		}
               return result;
	}
    /**
    * Busca una galeria por su nombre 
    * 
    * @param  pnomGaleria  nombre de la galeria
    * @return   galeria
    */	
        public Prestamo buscarUnPrestamo(String codEjemplar) throws Exception{
            Prestamo objPrestamo=null;
            String sql;
            java.sql.ResultSet rs;
            sql = "SELECT * " + 
                  " FROM TPrestamo " + 
                  "WHERE codEjemplar= '"+codEjemplar+"';";
            try{

                rs = Conector.getConector().ejecutarSQL(sql,true);
                if(rs.next()){
			objPrestamo = new Prestamo(rs.getInt("diasPrestamo"),rs.getDate("fechaPrestamo"),rs.getString("codEjemplar"),rs.getString("codUsuario"));
                }

            }catch (Exception e){ 
                throw new Exception (e.getMessage());
            }
            rs.close();
            
            return objPrestamo;
        }
        
        
        public ArrayList<Prestamo> buscarPrestamosPorUsuario(String codUsuario) throws Exception{
            Prestamo objPrestamo;
            ArrayList<Prestamo> listaPrestamos;
            String sql;
            java.sql.ResultSet rs;
            sql = "SELECT * " + 
                  " FROM TPrestamo " + 
                  "WHERE codUsuario= '"+codUsuario+"';";
            try{
                rs = Conector.getConector().ejecutarSQL(sql,true);
                listaPrestamos =  new ArrayList<>();
                if(rs.next()){
                    do{
			objPrestamo = new Prestamo(rs.getInt("diasPrestamo"),rs.getDate("fechaPrestamo"),rs.getString("codEjemplar"),rs.getString("codUsuario"));
                    }while (rs.next());
                }
            }catch (Exception e){
                throw new Exception (e.getMessage());
            }
            rs.close();
            return listaPrestamos;
        }
    
}
